home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_200 / 292_04 / t6809l.asm < prev    next >
Assembly Source File  |  1990-07-16  |  2KB  |  108 lines

  1.     .sbttl    Assembler Link Tests
  2.  
  3.     .module    t6809l
  4.  
  5.     ; This file and TCONST.ASM should be assembled and linked.
  6.     ;
  7.     ; AS6809 -XGOL T6809L
  8.     ; AS6809 -XGOL TCONST
  9.     ;
  10.     ; ASLINK -C
  11.     ; -XMS
  12.     ; T6809L
  13.     ; TCONST
  14.     ; -E
  15.     ;
  16.     ; The following tests verify the correct processing of
  17.     ; external references for the direct page, index mode offsets,
  18.     ; and branches.
  19.     ;
  20.     ; *L signifies an error will be reported at link time.
  21.  
  22.     ; branch test must be first
  23.  
  24.     .area    TEST    (ABS,OVR)
  25.  
  26.     .blkb    0x7E        ;bra1:
  27.     bra    bra1        ;   20 00  [20 80]
  28.     .blkb    0x7F        ;bra2:
  29.     bra    bra2        ;*L 20 00  [20 7F]
  30.     bra    bra3        ;   20 00  [20 7F]
  31.     .blkb    0x7F
  32.     .blkb    0x00        ;bra3:
  33.     bra    bra4        ;*L 20 00  [20 [80]
  34.     .blkb    0x80
  35.     .blkb    0x00        ;bra4:
  36.  
  37.     .blkb    0x7E        ;bra5:
  38.     bra    bra5        ;   20 00  [20 80]
  39.     .blkb    0x7F        ;bra6:
  40.     bra    bra6        ;*L 20 00  [20 7F]
  41.     bra    bra7        ;   20 00  [20 7F]
  42.     .blkb    0x7F
  43.     .blkb    0x00        ;bra7:
  44.     bra    bra8        ;*L 20 00  [20 [80]
  45.     .blkb    0x80
  46.     .blkb    0x00        ;bra8:
  47.  
  48.     ; direct page test
  49.  
  50.     .area    DIRECT    (ABS,OVR)
  51.     .setdp    0,DIRECT
  52.  
  53.     lda    *minus1        ;*L 96 00  [96 FF]
  54.     lda    *zero        ;   96 00  [96 00]
  55.     lda    *two55        ;   96 00  [96 FF]
  56.     lda    *two56        ;*L 96 00  [96 00]
  57.  
  58.     lda    *lminus1    ;*L 96 00  [96 FF]
  59.     lda    *lzero        ;   96 00  [96 00]
  60.     lda    *ltwo55        ;   96 00  [96 FF]
  61.     lda    *ltwo56        ;*L 96 00  [96 00]
  62.  
  63.     ; indexed test
  64.  
  65.     lda    minus1,x    ;   A6 89 00 00  [A6 89 FF FF]
  66.     lda    zero,x        ;   A6 89 00 00  [A6 89 00 00]
  67.     lda    two55,x        ;   A6 89 00 00  [A6 89 00 FF]
  68.     lda    two56,x        ;   A6 89 00 00  [A6 89 01 00]
  69.  
  70.     ; direct page boundary / length checking
  71.  
  72.     .area    A
  73.  
  74.     .blkb    1
  75.  
  76.     .area    PAGE0    (PAG)    ;*L Linker -- page boundary error
  77.  
  78.     .setdp    0,PAGE0        ;*L Linker -- page definition boundary error
  79.  
  80.     .blkb    0x101        ;*L Linker -- page length error
  81.  
  82.     .area    PAGE1    (ABS,OVR)
  83.  
  84.     .setdp    0x100,PAGE1
  85.  
  86.     .setdp    boundary,PAGE1    ;*L Linker -- page definition boundary error
  87.  
  88.     ; Non page '0' paging
  89.  
  90.     .area    PAGE2    (ABS,OVR)
  91.  
  92.     .setdp    0,PAGE2
  93.  
  94.     lda    *minus1        ;*L 96 00  [96 FF]
  95.     lda    *zero        ;   96 00  [96 00]
  96.     lda    *two55        ;   96 00  [96 FF]
  97.     lda    *two56        ;*L 96 00  [96 00]
  98.  
  99.     .setdp    0x100,PAGE2
  100.  
  101.     lda    *minus1        ;*L 96 00  [96 FF]
  102.     lda    *zero        ;*L 96 00  [96 00]
  103.     lda    *two55        ;*L 96 00  [96 FF]
  104.     lda    *two56        ;   96 00  [96 00]
  105.     lda    *five11        ;   96 00  [96 FF]
  106.     lda    *five12        ;*L 96 00  [96 00]
  107.  
  108.